package com.naiterui.ehp.bs.doctor.service;

import java.util.List;
import java.util.Map;
import java.util.Set;

import com.naiterui.ehp.bs.doctor.vo.CityVO;

public interface ICityService {

    /**
     * <根据城市父级ID查询城市列表>
     * @param pid
     * @return List<CityVO> <返回值描述>
     * @Throws 异常信息
     * @History 2015-6-21 下午5:12:32 by guoyongxiang
     */
    List<CityVO> getCityList(Integer pid);

    /**
     * 根据最终地区节点id返回完整的地址字符串
     * @param lastAreaId 城市表cms_city.id
     * @param spitWord 分隔符
     * @return 返回完整地区信息，如中国-广州-海珠
     */
    String getFullCityName(int lastAreaId, String spitWord);

    /**
     * 获取省市信息，（如果是直辖市返回市区信息）
     * ICityService.getProAndCity()
     * @Author Amber
     * @Date 2016年6月24日
     * @since 1.0.0
     * @param lastAreaId 目标cityid
     * @param spitWord 分隔符
     * @return 省份返回 举例： 中国-河北，中国-上海，北京-朝阳
     */
    String getProAndCity(int lastAreaId, String spitWord);

    /**
     * 根据cityID定位到市这一级 以及处理广东、陕西、河南历史遗留省会id
     * @Author fanjd
     * @Date 2017年9月18日
     * @since 1.0.0
     * @param cityId
     * @param flag 是否调用cityService.getCityId 0--不需要 1--需要
     * @return
     */
    Integer getSecondCityId(Integer cityId, Integer flag);

    /**
     * 根据cityID定位到市这一级
     * @Author fanjd
     * @Date 2017年9月18日
     * @since 1.0.0
     * @param map key 原始id value 定位到市一级id
     * @return
     */
    Map<Integer, Integer> getSecondCityIdForMap(Set<Integer> citys);

    /**
     * 获取全部城市信息
     *
     * @return
     */
    List<CityVO> getCityAll();
}